package com.ioc.business.order.service;

import com.ioc.business.order.domain.ReceiveOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ioc.business.order.domain.bo.receive.ReceiveOrderBo;
import com.ioc.business.order.domain.bo.receive.ReceiveOrderQueryBo;
import com.ioc.business.order.vo.receive.ReceiveOrderImportVo;
import com.ioc.business.order.vo.receive.ReceiveOrderPageVo;
import com.ioc.business.order.vo.receive.ReceiveOrderVo;
import com.ioc.common.core.page.TableVo;

import java.util.List;

/**
 * <p>
 * 收货订单表 服务类
 * </p>
 *
 * @author WeiZhongRong
 * @since 2025-01-07
 */
public interface IReceiveOrderService extends IService<ReceiveOrder> {

    /**
     * 分页查询收货订单列表
     *
     * @param queryBo
     * @return
     */
    TableVo<ReceiveOrder, ReceiveOrderPageVo> selectReceiveOrderPageList(ReceiveOrderQueryBo queryBo);


    /**
     * 查询收货订单详情信息
     *
     * @param receiveOrderId
     * @return
     */

    ReceiveOrderVo selectReceiveOrderById(Long receiveOrderId);

    /**
     * 新增收货订单
     *
     * @param bo
     * @return
     */
    boolean addReceiveOrder(ReceiveOrderBo bo);

    /**
     * 编辑收货订单
     *
     * @param bo
     * @return
     */
    boolean updateReceiveOrder(ReceiveOrderBo bo);

    /**
     * 删除收货订单
     *
     * @param idList
     * @return
     */
    boolean removeReceiveOrder(List<Long> idList);

    /**
     * 导入发货订单数据
     *
     * @param voList
     */
    void importReceiveOrder(List<ReceiveOrderImportVo> voList);
}
